草庐IT

c++ - QML Qt openUrlExternally

全部标签

c++ - 如何截断 XMM 寄存器中的浮点值

如何只获取float的整数部分?所以,我有一个float组:x[4]={5.0,13.0,25.0,41.0};我把它放在xmm0中,然后用它做sqrt。我还需要一个命令来帮助仅获取此sqrt的一部分。例如5的sqrt将是2.236068,我只需要2.0的答案代码:__asm{movupsxmm0,xsqrtpsxmm0,xmm0//hereneedsomecommandmovupsx,xmm0} 最佳答案 使用roundps是最简单的。舍入模式表在其他地方,但您需要舍入模式3(接近零)。只有当输入保证在某个范围内(大约0到4.6e

c++ - 编译为 C++ 但不是 C(错误 : lvalue required as unary '&' operand)

当我使用C++而不是C时,这一行编译:gmtime(&(*(time_t*)alloca(sizeof(time_t))=time(NULL)));//用alloca创建一个左值我对这种差异感到惊讶。甚至没有针对C++的警告。当我指定gcc-xc时,消息是:playground.cpp:25:8:error:lvaluerequiredasunary'&'operandgmtime(&(*(time_t*)alloca(sizeof(time_t))=time(NULL)));^这里的&不就是一个address-of操作符吗?为什么在C和C++中不同?虽然我可以在C中使用复合字面量,但

java - "\n","\t"如何分别加新行和制表符?

在编程语言中,如果我使用“\n”,它会添加一个换行符。有人能解释一下“\n”是如何被翻译成换行符的吗?“\t”也是如此? 最佳答案 当编译器正在读取您的程序并且它看到反斜杠某些东西时,它知道“假装”它看到了其他东西。你可以想象编译器的一部分是这样工作的:current_character=getNextCharacter();if(current_character==BACKSLASH){current_character=getNextCharacter();if(current_character=='n'){/*oh,the

c++ - 在非函数调用相关声明上使用 "extern C"

我知道之前有人问过有关extern"C"的问题,但我收到的信号很复杂,希望有人能指出以下场景中的最佳实践。我已经为Linux编写了一个驱动程序,并定义了几个struct以及一些_IO、_IOR和_IOWioctl(...)调用的定义。我的结构都不包含任何函数,下面是我使用的struct、enum和ioctl示例:#ifdef__cplusplusextern"C"{#endifenumAlignment{Left=0,Right=1,Middle=3};structData{intSize;void*Address;};#definefoo_IOR(DRV_ID,1,structDat

c++ - AVX 4 位整数

我需要执行以下操作:w[i]=scale*v[i]+pointscale和point是固定的,而v[]是一个4位整数vector。我需要为任意输入vectorv[]计算w[]并且我想使用AVX内在函数来加速这个过程。但是,v[i]是一个4位整数vector。问题是如何使用内在函数对4位整数执行运算?我可以使用8位整数并以这种方式执行操作,但有没有办法执行以下操作:[a,b]+[c,d]=[a+b,c+d][a,b]*[c,d]=[a*b,c*d](忽略溢出)使用AVX内在函数,其中[...,...]是8位整数,a、b、c、d是4位整数?如果是,是否可以举一个简短的例子来说明它是如何工作

c++ - struct S { int align; 之间的区别}; (在 struct 关键字之后命名)和 struct { int align; } S; (结构定义后的名称)

#includestructHeader{unsignedlonglongintalignment;};intmain(void){structHeaderheader;//note:wecanloosethe'struct'inC++structHeader*pheader=&header;return0;}上面的程序在C和C++中都能完美编译。但是当我将Header结构更改为:struct{unsignedlonglongintalignment;}Header;它失败并在C中显示以下消息:错误:“Header”的存储大小未知在C++中:error:aggregate‘main()

c++ - 用于 C++ 的 XML-RPC 库

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。Improvethisquestion哪些库可用于使用nativeC++或C编写xml-rpc客户端?

c++ - 使用 restrict 关键字时出错

在下面的例子中:voidfoo(double*ptr){constdouble*restrictconstrestr_ptr=ptr;}我收到这个错误:error:expecteda";"constdouble*restrictconstrestr_ptr=ptr;^我用-std=c99编译,使用gcc3.4有什么想法吗? 最佳答案 在C++中,restrict不是关键字(Microsoftextensions除外)。这并不意味着它在C中的作用。看起来好像您试图将C99模式应用于您的C++编译器。使用C编译器编译C代码,使用C++编

c++ - 以编程方式检查头文件是否存在的最佳方法?

是否只是为了测试编译一个简单的程序,其中包含该头文件#included?为了更好地理解编译过程,我正在编写自己的“配置”,它会测试一些头文件和库文件是否存在。 最佳答案 是的,使用编译器来编译你的简单测试程序。这是查看编译器是否可以找到header的最好和最简单的方法。如果您对#include搜索路径进行硬编码,您将始终需要针对不同的编译器进行修改和调整。 关于c++-以编程方式检查头文件是否存在的最佳方法?,我们在StackOverflow上找到一个类似的问题:

C# 和 C++ 库

我想知道我是否可以使用alibrary-用C++编写-在C#问题是图书馆有自己的结构和类..我可以在C#中使用它吗?谢谢编辑这个库是开源的..所以如果我的要求需要一些特殊的C++代码,我将能够做到... 最佳答案 您不能在托管代码中直接使用C++类。主要问题是无法使用与C++代码相同的内存分配器,并且无法轻松调用构造函数和析构函数。一位微软员工发布了ablogpost以表明这并非不可能。我不建议这样做。COM是一种解决方案,但总是需要相当大的重写和良好的COM编程技能。managedclasswrapper在C++/CLI语言中通常